package com.dys.testio07;

import java.io.*;

/**
 * @className: src.main.java.com.dys.testio07.InputAndOutputStream
 * @description: src.main.java.com.dys.testio07
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/08/16 下午10:40
 */
public class InputAndOutputStream {

    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) throws IOException {
        new InputAndOutputStream().testInputAndWrite();
    }

    /**
     * 键盘录入内容输出到文件中
     */
    public void testInputAndWrite() throws IOException {
        // 输入方向
        // 键盘录入：输入字节流
        InputStream in = System.in;
        // 将输入的字节流转换为字符流
        InputStreamReader isr = new InputStreamReader(in);
        // 在isr外面再套一层缓冲流
        BufferedReader br = new BufferedReader(isr);

        // 输出方向
        // 准备目标文件
        File f1 = new File("e:\\Demo2.txt");
        // 写入流
        FileWriter fw = new FileWriter(f1);
        BufferedWriter bw = new BufferedWriter(fw);

        // 开始写入
        String s = br.readLine();
        while (!"exit".equals(s)) {
            bw.write(s);
            // 换行
            bw.newLine();
            s = br.readLine();
        }

        // 关流
        bw.close();
        br.close();
    }
}
